﻿using System;
namespace Cobit5.Model
{
	/// <summary>
	///
	/// </summary>
	[Serializable]
	public partial class TimeAlarm
	{
		public TimeAlarm()
		{}
		#region Model
		private Guid __id;
		private string _practiceid;
		private int _sequence;
		private string _supportingid;
		private DateTime? _alarmstart;
		private DateTime? _alarmdeadline;
		private int? _alarmstatus;
		private DateTime? _finishdate;
		private DateTime? _resceduleddeadline;
		private DateTime? _nextstart;
		private DateTime? _nextdeadline;
		private string _nextproposer;
		/// <summary>
		/// 
		/// </summary>
		public Guid _id
		{
			set{ __id=value;}
			get{return __id;}
		}
		/// <summary>
		/// 
		/// </summary>
		public string practiceID
		{
			set{ _practiceid=value;}
			get{return _practiceid;}
		}
		/// <summary>
		/// 
		/// </summary>
		public int sequence
		{
			set{ _sequence=value;}
			get{return _sequence;}
		}
		/// <summary>
		/// 
		/// </summary>
		public string supportingID
		{
			set{ _supportingid=value;}
			get{return _supportingid;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? alarmStart
		{
			set{ _alarmstart=value;}
			get{return _alarmstart;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? alarmDeadline
		{
			set{ _alarmdeadline=value;}
			get{return _alarmdeadline;}
		}
		/// <summary>
		/// 0:initial

        ///11：开始时间到了，发送给相关的Owner/Reviewer
        ///12：Owner/Reviewer回复，并停止提示

        ///21：Deadline时间到了，发送给相关的Owner/Reviewer
        ///22：Owner/Reviewer回复，并停止提示

        ///71：Owner/Reviewer提议新的时间，发送给了审计管理员，待审批
        ///72：审计管理员回复，通知到Owner/Review后，重新恢复至0～22的状态

        ///81：Owner完成了，并上传提交，等待审批
        ///82：Reviewer审批完，等待审计管理员审批
        ///91：Owner完成提交，被Reviewer驳回
        ///92：Reviewer审批完，被审计管理员驳回

        ///100：提交成功。等待创建下一次提交Supporting的时间。
        ///101：结束！
		/// </summary>
		public int? alarmStatus
		{
			set{ _alarmstatus=value;}
			get{return _alarmstatus;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? finishDate
		{
			set{ _finishdate=value;}
			get{return _finishdate;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? resceduledDeadline
		{
			set{ _resceduleddeadline=value;}
			get{return _resceduleddeadline;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? nextStart
		{
			set{ _nextstart=value;}
			get{return _nextstart;}
		}
		/// <summary>
		/// 
		/// </summary>
		public DateTime? nextDeadline
		{
			set{ _nextdeadline=value;}
			get{return _nextdeadline;}
		}
		/// <summary>
		/// 
		/// </summary>
		public string nextProposer
		{
			set{ _nextproposer=value;}
			get{return _nextproposer;}
		}
		#endregion Model

	}
}

